/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package uniriotec.pm.empresa.core;

import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import uniriotec.pm.empresa.api.EmpregadoService;
import uniriotec.pm.empresa.dao.DaoFactory;
import uniriotec.pm.empresa.dao.EmpregadoDao;
import uniriotec.pm.empresa.model.Empregado;


import uniriotec.pm.empresa.util.DAOUtil;

/**
 *
 * @author albertoapr
 */
public class SimpleEmpregadoService implements EmpregadoService {
private static DaoFactory factory = DAOUtil.getDAOFactory();
    @Override
    public void create(Empregado empregado) {
        EmpregadoDao dao = factory.getEmpregadoDAO();
        try {
            dao.create(empregado);
        } catch (Exception ex) {
            Logger.getLogger(SimpleEmpregadoService.class.getName()).log(Level.SEVERE, null, ex);
        }
               
        
    }

    @Override
    public Empregado searchByCpf(String cpf) {
      EmpregadoDao dao = factory.getEmpregadoDAO();
        try {
            return dao.searchByCpf(cpf);
        } catch (Exception ex) {
            Logger.getLogger(SimpleEmpregadoService.class.getName()).log(Level.SEVERE, null, ex);
        }
      return null;
    }

    @Override
    public void update(Empregado empregado) {
       EmpregadoDao dao = factory.getEmpregadoDAO();
        try {
            dao.update(empregado);
        } catch (Exception ex) {
            Logger.getLogger(SimpleEmpregadoService.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    @Override
    public void remove(String cpf) {
       EmpregadoDao dao = factory.getEmpregadoDAO();
        try {
            dao.remove(cpf);
        } catch (Exception ex) {
            Logger.getLogger(SimpleEmpregadoService.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    @Override
    public Empregado searchById(int id) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public ArrayList<Empregado> listAll() {
          EmpregadoDao dao = factory.getEmpregadoDAO();
        try {
            return dao.listAll();
        } catch (Exception ex) {
            Logger.getLogger(SimpleEmpregadoService.class.getName()).log(Level.SEVERE, null, ex);
        }
          return null;
    }



  
    
}
